#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"

SG_DATASTRUCTURE_POST_NAMESPACE_OPEN

struct CROSS_PSDData
{
    SG::DataStructure::Common::I64  m_RCROSS    = 0;      ///<
    char                            m_RTYPE1[4] = { 0 };  ///<
    SG::DataStructure::Common::Id   m_ID1       = 0;      ///<
    SG::DataStructure::Common::I64  m_COMP1     = 0;      ///<
    char                            m_RTYPE2[4] = { 0 };  ///<
    SG::DataStructure::Common::Id   m_ID2       = 0;      ///<
    SG::DataStructure::Common::I64  m_COMP2     = 0;      ///<
    SG::DataStructure::Common::Real m_RCPSDF    = 0.0;    ///<
    SG::DataStructure::Common::Real m_ICPSDF    = 0.0;    ///<
    SG::DataStructure::Common::Id   m_CURID     = 0;      ///<
    SG::DataStructure::Common::Id   m_domainId  = 0;      ///< Domain identifier
};

///< @brief 判断数据是否相等
DECLSPEC bool operator== (const CROSS_PSDData& val1, const CROSS_PSDData& val2);

///< @brief 排序使用
inline bool operator< (const CROSS_PSDData& a, const CROSS_PSDData& b)
{
    return a.m_RCROSS < b.m_RCROSS;
}
SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE
